/*
Copyright 2012 Martin Sliwka

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

#pragma once

// Including SDKDDKVer.h defines the highest available Windows platform.

// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.

#include <WinSDKVer.h>
#define _WIN32_WINNT _WIN32_WINNT_WIN2K
#include <SDKDDKVer.h>

#include <stdio.h>
#include <tchar.h>

#include <Windows.h>
#include <assert.h>
#include <process.h>

#include <memory>
#include <string>

#include <stdlib.h>

#define ZeroVariable(var) memset(&var, 0, sizeof(var))
#define SAFE_CLOSEHANDLE(x) { if (x) { ::CloseHandle(x); (x) = NULL; } }

#define LOG	printf

#ifdef _DEBUG
	#define TRACE	LOG
#else
	#define TRACE	(true) ? (void)(0) : LOG
#endif // _DEBUG

